Managers and administrators of many types of complex systems routinely try to produce long-range plans for the enterprise. An effective long-range plan should predict future conditions, the types of ongoing actions needed to meet those conditions, and the costs and relative effectiveness of the ongoing actions. One objective of an effective long-range plan is to reduce the expenditure of time and money by an enterprise while maximizing efficiency and profit. One example of a complex system is a consulting enterprise that performs many types of work for many types of client using many types of employees. Significant long-range planning challenges for a consulting enterprise include predicting work loads and types of work loads, and predicting hiring and training needs.
A contact center is a complex system that provides a good example of the requirements for effective long-range planning. A contact center is an organization that responds to incoming contacts from customers of an enterprise. The incoming contacts are via any one of a number of contact media, such as telephone calls, email, fax, web chat, voice over internet protocol, and call backs. An agent is an employee that is trained to respond to various contacts according to both the content and the medium of the contact. Each agent can have a different skill set. For example, one agent may be trained to answer live telephone help inquiries regarding certain products, respond to email regarding certain products, receive telephone purchase orders for certain products, etc. Typically, incoming contacts are assigned to different queues based upon the content and/or medium of the contact. In embodiments of the invention, contact queues are divided into at least two types of queues. For example, one type of queue is an immediate queue for contacts that can be abandoned and should be responded to in real-time, such as telephone calls. Another type of queue is a deferred queue for contacts that cannot be abandoned (at least not immediately) and should be responded to within some time period after receipt, such as email or fax. Queues may be defined in any other way, such as by the required level of service on a particular queue, where a common measure of service level is a percentage of calls answered within a defined time period. An agent may be assigned to multiple queues within a time period. A queue typically handles one type of contact requiring a particular skill or skills. The possible number of agent skill sets includes every permutation of combinations of the existing skills in the organization. Each agent has a particular skill set, but the skill sets among different agents may overlap.
Enterprises operating contact centers must schedule agents carefully in order to provide a required level of service on each queue at the lowest overall cost. A poor schedule could leave many calls unanswered, or leave many paid agents idle. Existing scheduling and forecasting tools are designed to create work schedules for the agents currently available. Schedules are typically created for no more than four weeks in advance. Existing scheduling and forecasting tools account for such specifics as a particular agent's vacations, proficiency and availability. The scheduling tools attempt to maximize service level by intelligently scheduling available agents. Existing scheduling tools, however, do not provide guidance for long-range planning. Scheduling tools guide day-to-day staffing decisions given a fixed set of resources, but do not help an administrator intelligently plan future hiring and training decisions. For example, scheduling tools do not allow an administrator to see the effects of scheduling, hiring, and training decisions on queue service levels or costs.
To conduct long-term planning with traditional scheduling tools, users typically create a “virtual week” far in the future, and add artificial agents to a schedule. Scheduling is then performed, while varying parameters to conduct “what-if” studies. This approach is inadequate for accurate long-range planning for several reasons. For example, the period of time available for scheduling is too short to be of use for long-range planning. This is a fundamental inadequacy, in that long-term planning spans several months, rather than the two to four weeks available with current tools. This leads to inaccurate results, in part because seasonal and yearly variations cannot be captured by the tool. A direct result of this temporal mismatch is that long-term hiring plans and training plans cannot be created using the traditional approach to long-term planning. Therefore, traditional scheduling and forecasting approaches at their best are only usable for estimating staff hours required, but are not usable for the creation of hiring and training plans.
Another reason traditional scheduling approaches are inadequate for accurate long-range planning is that they are unnecessarily time-consuming. One of the reasons for this is that traditional tools deal with atomic temporal units ranging from five minutes to fifteen minutes. This is too fine-grained for conducting long-term planning and, as a result, the scheduling engine, which is busy identifying artificial agents' starting and ending shift times with fifteen minute precision, is unnecessarily slow. Another reason is that traditional tools include parameters that are insignificant in the creation of long-term plans, yet the user is forced to specify these parameters and thus waste time while conducting long-term planning. Examples of such parameters include the specific distribution of breaks in a particular shift, unnecessarily precise information regarding an agent's unavailability, proficiency and shift preferences, etc.
Yet another reason traditional scheduling approaches are inadequate for accurate long-range planning is that they provide no scheduling-free solution to the problem of computing performance. In the case of skill-based contact centers, there is no traditional system that can estimate the performance of the contact center based on total headcount numbers without launching into a complete scheduling session, in which agents are scheduled and the resulting schedule's performance is measured. This is time-consuming and inefficient. Also, because the performance that is measured is over a short period, traditional scheduling methods probably generate inaccurate performance measurements of long-range staffing plans.
There are existing long-term forecasting tools which are used to estimate the volume of calls or contacts that will be expected months and years into the future. These are trend analysis tools, in that they enable the user to incorporate prior historical data in the exercise of creating seasonal, monthly, weekly and daily trends. Once these trends have been created, they are applied forward in time based on current contact or call statistics to yield estimates of incoming call volumes for future months over a long term. Although this process can successfully estimate future call volumes, the long term forecasting tool is inadequate for more complete long-term planning for several reasons. One reason is that long-term forecasting provides no estimate of staffing hours required, especially in a skills-based environment. Another reason long-term forecasting is inadequate for more complete long-term planning is that existing long-term forecasting tools provide no estimate of performance (such as service level and queue occupancy) given headcount. Another inadequacy is that existing long-term forecasting has no mechanism for constructing hiring or training plans. Yet another inadequacy is that long-term forecasting has no mechanism to enable the user to assess the impact of making structural changes to the contact center (e.g. splitting a queue or adding a queue).